#import <Foundation/Foundation.h>
#import "SEGMultipartfileuploadModel.h"

#if __has_include(<Commom/SEGHTTPBusinessManager.h>)
#import <Commom/SEGHTTPBusinessManager.h>
#else
#import "SEGHTTPBusinessManager.h"
#endif

@interface SEGMultipartfileuploadManager : NSObject
#pragma mark - SINGLE----BEGIN----
+(instancetype)sharedManager;//创建单例
+(void)destroyResource;//销毁单例
#pragma mark - SINGLE----END----

#pragma mark - HTTP----BEGIN----
/**
 图片上传-多图-添加服务器区分
 
 @author Sam
 @param data 图片二进制数组
 @param serviceType 0：b端服务，1：c端服务
 @param progress 上传进度
 @param completed 上传完成回调
 */
-(void)requestMultipartfileuploadWithData:(NSArray<NSData*>*)data serviceType:(NSString*)serviceType progress:(void(^)(double progressValue))progress completed:(void(^)(BOOL isSuccessed,id result,NSString* codeType,NSString* errorMessage))completed;

/// H5多图上传接口
/// @param data 图片二进制数组
/// @param serviceType 0：b端服务，1：c端服务
/// @param progress 上传进度
/// @param completed 上传完成回调
-(void)requestH5MultipartfileuploadWithData:(NSArray<NSData*>*)data serviceType:(NSString*)serviceType progress:(void(^)(double progressValue))progress completed:(void(^)(BOOL isSuccessed,id result,NSString* codeType,NSString* errorMessage))completed;

/**
 图片上传-多图

 @author Sam
 @param data 图片二进制数组
 @param progress 上传进度
 @param completed 上传完成回调
 */
-(void)requestMultipartfileuploadWithData:(NSArray<NSData*>*)data progress:(void(^)(double progressValue))progress completed:(void(^)(BOOL isSuccessed,id result,NSString* codeType,NSString* errorMessage))completed;

/**
 图片上传-多图
 
 @author Sam
 @param img 图片二进制数组
 @param progress 上传进度
 @param completed 上传完成回调
 */
-(void)requestMultipartfileuploadWithImage:(NSArray<UIImage*>*)img progress:(void(^)(double progressValue))progress completed:(void(^)(BOOL isSuccessed,id result,NSString* codeType,NSString* errorMessage))completed;

/**
 图片上传-多图-附加详细信息

 @author Sam
 @param detailData 图片模型数组
 @param progress 上传进度
 @param completed 上传完成回调
 */
-(void)requestMultipartfileuploadWithDetailData:(NSArray<SEGUploadFileModel*>*)detailData progress:(void(^)(double progressValue))progress completed:(void(^)(BOOL isSuccessed,id result,NSString* codeType,NSString* errorMessage))completed;

/**
 图片上传-多图
 
 @param imagePaths 图片的本地路径数组
 @param progress 进度
 @param completed 回调
 */
- (void)requestMultipartfileuploadWithImagePaths:(NSArray<NSString *>*)imagePaths progress:(void(^)(double progressValue))progress completed:(void(^)(BOOL isSuccessed,id result,NSString* codeType,NSString* errorMessage))completed;
#pragma mark - HTTP----END----

#pragma mark - SOURCE----BEGIN----
@property (nonatomic, strong) SEGMultipartfileuploadModel *multipartFileUpload;
#pragma mark - SOURCE----END----
@end
